package com.quantoeugasto.entidade;

public enum Mes {
	
	JANEIRO(1, "Janeiro"),
	FEVEREIRO(2, "Fevereiro"),
	MARCO(3, "Março"),
	ABRIL(4, "Abril"),
	MAIO(5, "Maio"),
	JUNHO(6, "Junho"),
	JULHO(7, "Julho"),
	AGOSTO(8, "Agosto"),
	SETEMBRO(9, "Setembro"),
	OUTUBRO(10, "Outubro"),
	NOVEMBRO(11, "Novembro"),
	DEZEMBRO(12, "Dezembro");
	
	private Integer codigo;
	private String nome;
	
	private Mes(Integer codigo, String nome) {
		this.codigo = codigo;
		this.nome = nome;
	}

	public Integer getCodigo() {
		return codigo;
	}

	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public static Mes getByCodigo(int codigo){
		switch (codigo) {
		case 1:
			return JANEIRO;
		case 2:
			return FEVEREIRO;
		case 3:
			return MARCO;
		case 4:
			return ABRIL;
		case 5:
			return MAIO;
		case 6:
			return JUNHO;
		case 7:
			return JULHO;
		case 8:
			return AGOSTO;
		case 9:
			return SETEMBRO;
		case 10:
			return OUTUBRO;
		case 11:
			return NOVEMBRO;
		case 12:
			return DEZEMBRO;
			
		default:
			return null;
		}
	}
	
	public Mes proximoMes(){
		
		if (this.equals(Mes.DEZEMBRO)){
			return Mes.JANEIRO;
		}else {
			return getByCodigo(this.getCodigo() + 1);
		}
	}

}
